[INFO] cloning repository https://github.com/partg952/chip8-emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/partg952/chip8-emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpartg952%2Fchip8-emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpartg952%2Fchip8-emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 895fa1b729726fcb4feedb64c5f67999d26a0b18
[INFO] testing partg952/chip8-emu against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpartg952%2Fchip8-emu" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/partg952/chip8-emu
[INFO] finished tweaking git repo https://github.com/partg952/chip8-emu
[INFO] tweaked toml for git repo https://github.com/partg952/chip8-emu written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/partg952/chip8-emu on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/partg952/chip8-emu already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7789f6b98d4ee8ef5984c111285d0604fe800f1f04d281c4be10f9d816e1c4ef
[INFO] running `Command { std: "docker" "start" "-a" "7789f6b98d4ee8ef5984c111285d0604fe800f1f04d281c4be10f9d816e1c4ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7789f6b98d4ee8ef5984c111285d0604fe800f1f04d281c4be10f9d816e1c4ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7789f6b98d4ee8ef5984c111285d0604fe800f1f04d281c4be10f9d816e1c4ef", kill_on_drop: false }`
[INFO] [stdout] 7789f6b98d4ee8ef5984c111285d0604fe800f1f04d281c4be10f9d816e1c4ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ebaeec5e61e4925a842dc34134b079509f8ddf3f252cb35819dc8aad08dbc72e
[INFO] running `Command { std: "docker" "start" "-a" "ebaeec5e61e4925a842dc34134b079509f8ddf3f252cb35819dc8aad08dbc72e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.97
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cc v1.2.32
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling syn v2.0.105
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]    Compiling xml-rs v0.8.27
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling async-lock v3.4.1
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling async-executor v1.13.2
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling async-broadcast v0.7.2
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ab_glyph v0.2.31
[INFO] [stderr]    Compiling polling v3.10.0
[INFO] [stderr]    Compiling async-io v2.5.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling async-signal v0.2.12
[INFO] [stderr]    Compiling async-process v2.4.0
[INFO] [stderr]    Compiling accesskit v0.19.0
[INFO] [stderr]    Compiling wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling memmap2 v0.9.7
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling wayland-protocols v0.32.9
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling calloop v0.13.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling wayland-cursor v0.31.11
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling calloop-wayland-source v0.3.0
[INFO] [stderr]    Compiling emath v0.32.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling x11rb-protocol v0.13.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling tiny-skia v0.11.4
[INFO] [stderr]    Compiling ecolor v0.32.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling epaint_default_fonts v0.32.1
[INFO] [stderr]    Compiling epaint v0.32.1
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling accesskit_consumer v0.28.0
[INFO] [stderr]    Compiling zvariant_utils v3.2.0
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling zvariant_derive v5.6.0
[INFO] [stderr]    Compiling wayland-protocols-wlr v0.3.9
[INFO] [stderr]    Compiling wayland-protocols-plasma v0.3.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling zvariant v5.6.0
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]    Compiling dpi v0.1.2
[INFO] [stderr]    Compiling sctk-adwaita v0.10.1
[INFO] [stderr]    Compiling zbus_names v4.2.0
[INFO] [stderr]    Compiling smol_str v0.2.2
[INFO] [stderr]    Compiling egui v0.32.1
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling zbus_xml v5.0.2
[INFO] [stderr]    Compiling zbus_macros v5.9.0
[INFO] [stderr]    Compiling zbus-lockstep v0.5.1
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.5.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling image v0.25.6
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling smithay-clipboard v0.7.2
[INFO] [stderr]    Compiling zbus v5.9.0
[INFO] [stderr]    Compiling webbrowser v1.0.5
[INFO] [stderr]    Compiling async-net v2.0.0
[INFO] [stderr]    Compiling async-fs v2.1.3
[INFO] [stderr]    Compiling tinyfiledialogs v3.9.1
[INFO] [stderr]    Compiling minifb v0.28.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling x11rb v0.13.1
[INFO] [stderr]    Compiling rfd v0.15.4
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling glow v0.16.0
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling sysinfo v0.36.1
[INFO] [stderr]    Compiling pollster v0.4.0
[INFO] [stderr]    Compiling egui_glow v0.32.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling arboard v3.6.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling egui-file-dialog v0.11.0
[INFO] [stderr]    Compiling atspi-common v0.9.0
[INFO] [stderr]    Compiling ashpd v0.11.0
[INFO] [stderr]    Compiling atspi-proxies v0.9.0
[INFO] [stderr]    Compiling accesskit_atspi_common v0.12.0
[INFO] [stderr]    Compiling atspi-connection v0.9.0
[INFO] [stderr]    Compiling atspi v0.25.0
[INFO] [stderr]    Compiling accesskit_unix v0.15.0
[INFO] [stderr]    Compiling accesskit_winit v0.27.0
[INFO] [stderr]    Compiling egui-winit v0.32.0
[INFO] [stderr]    Compiling eframe v0.32.0
[INFO] [stderr]    Compiling chip8-debugger v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `WindowOptions`, and `Window`
[INFO] [stdout]  --> src/main.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use minifb::{WindowOptions,Window,Key};
[INFO] [stdout]   |              ^^^^^^^^^^^^^ ^^^^^^ ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::format` and `path::PathBuf`
[INFO] [stdout]  --> src/window.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, path::PathBuf};
[INFO] [stdout]   |           ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/window.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cpu::{self, CPU};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Margin`
[INFO] [stdout]  --> src/window.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use egui::{Color32, ColorImage, Margin, RichText, TextureHandle, TextureOptions, Vec2};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rfd::FileDialog`
[INFO] [stdout]  --> src/window.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rfd::FileDialog;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/window.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 if (self.rom_loaded) {
[INFO] [stdout]    |                    ^               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -                 if (self.rom_loaded) {
[INFO] [stdout] 81 +                 if self.rom_loaded  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/window.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if (self.chip8.delay_timer > 0) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -         if (self.chip8.delay_timer > 0) {
[INFO] [stdout] 89 +         if self.chip8.delay_timer > 0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/window.rs:145:40
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...                   for idx in (0..=4) {
[INFO] [stdout]     |                                  ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -                             for idx in (0..=4) {
[INFO] [stdout] 145 +                             for idx in 0..=4  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/window.rs:168:40
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   for idx in (1..=8) {
[INFO] [stdout]     |                                  ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 168 -                             for idx in (1..=8) {
[INFO] [stdout] 168 +                             for idx in 1..=8  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 let value = (opcode & 0x00FF);
[INFO] [stdout]     |                             ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 let value = (opcode & 0x00FF);
[INFO] [stdout] 233 +                 let value = opcode & 0x00FF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:240:35
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 let last_nibble = (opcode & 0x000F);
[INFO] [stdout]     |                                   ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 240 -                 let last_nibble = (opcode & 0x000F);
[INFO] [stdout] 240 +                 let last_nibble = opcode & 0x000F ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:294:33
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout]     |                                 ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout] 294 +                 let last_byte = opcode & 0x00FF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:315:33
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout]     |                                 ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 315 -                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout] 315 +                 let last_byte = opcode & 0x00FF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:376:19
[INFO] [stdout]     |
[INFO] [stdout] 376 |         let low = (self.memory[(self.pc + 1) as usize] as u16);
[INFO] [stdout]     |                   ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 376 -         let low = (self.memory[(self.pc + 1) as usize] as u16);
[INFO] [stdout] 376 +         let low = self.memory[(self.pc + 1) as usize] as u16 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::CPU`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 |             egui::Frame::none().inner_margin(10.0).show(ui, |ui| {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 |             egui::Frame::none().stroke(egui::Stroke::NONE).show(ui,|ui| {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:137:30
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 egui::Frame::none().outer_margin(10.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:140:30
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 egui::Frame::none().inner_margin(40.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |             egui::Frame::none().stroke(egui::Stroke::NONE).show(ui,|ui| {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:160:30
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 egui::Frame::none().outer_margin(10.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:163:30
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 egui::Frame::none().inner_margin(40.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/window.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut chip8 = CPU::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/window.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   for idx in (1..=8) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `play_button_label` is never read
[INFO] [stdout]   --> src/window.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut play_button_label = "Play";
[INFO] [stdout]    |                                     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 86 |             play_button_label = "Play";
[INFO] [stdout]    |             -------------------------- `play_button_label` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut new_cpu = CPU {
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:330:29
[INFO] [stdout]     |
[INFO] [stdout] 330 |                         let mut number = self.v[register as usize];
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 59s
[INFO] running `Command { std: "docker" "inspect" "ebaeec5e61e4925a842dc34134b079509f8ddf3f252cb35819dc8aad08dbc72e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebaeec5e61e4925a842dc34134b079509f8ddf3f252cb35819dc8aad08dbc72e", kill_on_drop: false }`
[INFO] [stdout] ebaeec5e61e4925a842dc34134b079509f8ddf3f252cb35819dc8aad08dbc72e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4cb2543f40a43e86a6b31a65649444b55288a8bf7e3463b953b5fc69bb94896a
[INFO] running `Command { std: "docker" "start" "-a" "4cb2543f40a43e86a6b31a65649444b55288a8bf7e3463b953b5fc69bb94896a", kill_on_drop: false }`
[INFO] [stderr]    Compiling chip8-debugger v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `WindowOptions`, and `Window`
[INFO] [stdout]  --> src/main.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 | use minifb::{WindowOptions,Window,Key};
[INFO] [stdout]   |              ^^^^^^^^^^^^^ ^^^^^^ ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::format` and `path::PathBuf`
[INFO] [stdout]  --> src/window.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::format, path::PathBuf};
[INFO] [stdout]   |           ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/window.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cpu::{self, CPU};
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Margin`
[INFO] [stdout]  --> src/window.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use egui::{Color32, ColorImage, Margin, RichText, TextureHandle, TextureOptions, Vec2};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rfd::FileDialog`
[INFO] [stdout]  --> src/window.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rfd::FileDialog;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/window.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |                 if (self.rom_loaded) {
[INFO] [stdout]    |                    ^               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -                 if (self.rom_loaded) {
[INFO] [stdout] 81 +                 if self.rom_loaded  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/window.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if (self.chip8.delay_timer > 0) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -         if (self.chip8.delay_timer > 0) {
[INFO] [stdout] 89 +         if self.chip8.delay_timer > 0  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/window.rs:145:40
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...                   for idx in (0..=4) {
[INFO] [stdout]     |                                  ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -                             for idx in (0..=4) {
[INFO] [stdout] 145 +                             for idx in 0..=4  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/window.rs:168:40
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   for idx in (1..=8) {
[INFO] [stdout]     |                                  ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 168 -                             for idx in (1..=8) {
[INFO] [stdout] 168 +                             for idx in 1..=8  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 let value = (opcode & 0x00FF);
[INFO] [stdout]     |                             ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 let value = (opcode & 0x00FF);
[INFO] [stdout] 233 +                 let value = opcode & 0x00FF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:240:35
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 let last_nibble = (opcode & 0x000F);
[INFO] [stdout]     |                                   ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 240 -                 let last_nibble = (opcode & 0x000F);
[INFO] [stdout] 240 +                 let last_nibble = opcode & 0x000F ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:294:33
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout]     |                                 ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 294 -                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout] 294 +                 let last_byte = opcode & 0x00FF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:315:33
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout]     |                                 ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 315 -                 let last_byte = (opcode & 0x00FF);
[INFO] [stdout] 315 +                 let last_byte = opcode & 0x00FF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu.rs:376:19
[INFO] [stdout]     |
[INFO] [stdout] 376 |         let low = (self.memory[(self.pc + 1) as usize] as u16);
[INFO] [stdout]     |                   ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 376 -         let low = (self.memory[(self.pc + 1) as usize] as u16);
[INFO] [stdout] 376 +         let low = self.memory[(self.pc + 1) as usize] as u16 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::CPU`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:102:26
[INFO] [stdout]     |
[INFO] [stdout] 102 |             egui::Frame::none().inner_margin(10.0).show(ui, |ui| {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:136:26
[INFO] [stdout]     |
[INFO] [stdout] 136 |             egui::Frame::none().stroke(egui::Stroke::NONE).show(ui,|ui| {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:137:30
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 egui::Frame::none().outer_margin(10.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:140:30
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 egui::Frame::none().inner_margin(40.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:159:26
[INFO] [stdout]     |
[INFO] [stdout] 159 |             egui::Frame::none().stroke(egui::Stroke::NONE).show(ui,|ui| {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:160:30
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 egui::Frame::none().outer_margin(10.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]    --> src/window.rs:163:30
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 egui::Frame::none().inner_margin(40.0).show(ui, |ui| {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/window.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut chip8 = CPU::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/window.rs:168:33
[INFO] [stdout]     |
[INFO] [stdout] 168 | ...                   for idx in (1..=8) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `play_button_label` is never read
[INFO] [stdout]   --> src/window.rs:72:37
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut play_button_label = "Play";
[INFO] [stdout]    |                                     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 86 |             play_button_label = "Play";
[INFO] [stdout]    |             -------------------------- `play_button_label` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut new_cpu = CPU {
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu.rs:330:29
[INFO] [stdout]     |
[INFO] [stdout] 330 |                         let mut number = self.v[register as usize];
[INFO] [stdout]     |                             ----^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.83s
[INFO] running `Command { std: "docker" "inspect" "4cb2543f40a43e86a6b31a65649444b55288a8bf7e3463b953b5fc69bb94896a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4cb2543f40a43e86a6b31a65649444b55288a8bf7e3463b953b5fc69bb94896a", kill_on_drop: false }`
[INFO] [stdout] 4cb2543f40a43e86a6b31a65649444b55288a8bf7e3463b953b5fc69bb94896a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d10f66296f64337a250d2681a9066cf17eb5547484e8e8f88c354896024334cb
[INFO] running `Command { std: "docker" "start" "-a" "d10f66296f64337a250d2681a9066cf17eb5547484e8e8f88c354896024334cb", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Key`, `WindowOptions`, and `Window`
[INFO] [stderr]  --> src/main.rs:2:14
[INFO] [stderr]   |
[INFO] [stderr] 2 | use minifb::{WindowOptions,Window,Key};
[INFO] [stderr]   |              ^^^^^^^^^^^^^ ^^^^^^ ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fmt::format` and `path::PathBuf`
[INFO] [stderr]  --> src/window.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{fmt::format, path::PathBuf};
[INFO] [stderr]   |           ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/window.rs:3:18
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::cpu::{self, CPU};
[INFO] [stderr]   |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Margin`
[INFO] [stderr]  --> src/window.rs:5:33
[INFO] [stderr]   |
[INFO] [stderr] 5 | use egui::{Color32, ColorImage, Margin, RichText, TextureHandle, TextureOptions, Vec2};
[INFO] [stderr]   |                                 ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rfd::FileDialog`
[INFO] [stderr]  --> src/window.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rfd::FileDialog;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/window.rs:81:20
[INFO] [stderr]    |
[INFO] [stderr] 81 |                 if (self.rom_loaded) {
[INFO] [stderr]    |                    ^               ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 81 -                 if (self.rom_loaded) {
[INFO] [stderr] 81 +                 if self.rom_loaded  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/window.rs:89:12
[INFO] [stderr]    |
[INFO] [stderr] 89 |         if (self.chip8.delay_timer > 0) {
[INFO] [stderr]    |            ^                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 89 -         if (self.chip8.delay_timer > 0) {
[INFO] [stderr] 89 +         if self.chip8.delay_timer > 0  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/window.rs:145:40
[INFO] [stderr]     |
[INFO] [stderr] 145 | ...                   for idx in (0..=4) {
[INFO] [stderr]     |                                  ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 145 -                             for idx in (0..=4) {
[INFO] [stderr] 145 +                             for idx in 0..=4  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/window.rs:168:40
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   for idx in (1..=8) {
[INFO] [stderr]     |                                  ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 168 -                             for idx in (1..=8) {
[INFO] [stderr] 168 +                             for idx in 1..=8  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/cpu.rs:233:29
[INFO] [stderr]     |
[INFO] [stderr] 233 |                 let value = (opcode & 0x00FF);
[INFO] [stderr]     |                             ^               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 233 -                 let value = (opcode & 0x00FF);
[INFO] [stderr] 233 +                 let value = opcode & 0x00FF ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/cpu.rs:240:35
[INFO] [stderr]     |
[INFO] [stderr] 240 |                 let last_nibble = (opcode & 0x000F);
[INFO] [stderr]     |                                   ^               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 240 -                 let last_nibble = (opcode & 0x000F);
[INFO] [stderr] 240 +                 let last_nibble = opcode & 0x000F ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/cpu.rs:294:33
[INFO] [stderr]     |
[INFO] [stderr] 294 |                 let last_byte = (opcode & 0x00FF);
[INFO] [stderr]     |                                 ^               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 294 -                 let last_byte = (opcode & 0x00FF);
[INFO] [stderr] 294 +                 let last_byte = opcode & 0x00FF ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/cpu.rs:315:33
[INFO] [stderr]     |
[INFO] [stderr] 315 |                 let last_byte = (opcode & 0x00FF);
[INFO] [stderr]     |                                 ^               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 315 -                 let last_byte = (opcode & 0x00FF);
[INFO] [stderr] 315 +                 let last_byte = opcode & 0x00FF ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/cpu.rs:376:19
[INFO] [stderr]     |
[INFO] [stderr] 376 |         let low = (self.memory[(self.pc + 1) as usize] as u16);
[INFO] [stderr]     |                   ^                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 376 -         let low = (self.memory[(self.pc + 1) as usize] as u16);
[INFO] [stderr] 376 +         let low = self.memory[(self.pc + 1) as usize] as u16 ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cpu::CPU`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use cpu::CPU;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:102:26
[INFO] [stderr]     |
[INFO] [stderr] 102 |             egui::Frame::none().inner_margin(10.0).show(ui, |ui| {
[INFO] [stderr]     |                          ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:136:26
[INFO] [stderr]     |
[INFO] [stderr] 136 |             egui::Frame::none().stroke(egui::Stroke::NONE).show(ui,|ui| {
[INFO] [stderr]     |                          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:137:30
[INFO] [stderr]     |
[INFO] [stderr] 137 |                 egui::Frame::none().outer_margin(10.0).show(ui, |ui| {
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:140:30
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 egui::Frame::none().inner_margin(40.0).show(ui, |ui| {
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:159:26
[INFO] [stderr]     |
[INFO] [stderr] 159 |             egui::Frame::none().stroke(egui::Stroke::NONE).show(ui,|ui| {
[INFO] [stderr]     |                          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:160:30
[INFO] [stderr]     |
[INFO] [stderr] 160 |                 egui::Frame::none().outer_margin(10.0).show(ui, |ui| {
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stderr]    --> src/window.rs:163:30
[INFO] [stderr]     |
[INFO] [stderr] 163 |                 egui::Frame::none().inner_margin(40.0).show(ui, |ui| {
[INFO] [stderr]     |                              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/window.rs:18:13
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let mut chip8 = CPU::new();
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/window.rs:168:33
[INFO] [stderr]     |
[INFO] [stderr] 168 | ...                   for idx in (1..=8) {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `play_button_label` is never read
[INFO] [stderr]   --> src/window.rs:72:37
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let mut play_button_label = "Play";
[INFO] [stderr]    |                                     ^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 86 |             play_button_label = "Play";
[INFO] [stderr]    |             -------------------------- `play_button_label` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/cpu.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut new_cpu = CPU {
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/cpu.rs:330:29
[INFO] [stderr]     |
[INFO] [stderr] 330 |                         let mut number = self.v[register as usize];
[INFO] [stderr]     |                             ----^^^^^^
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `chip8-debugger` (bin "chip8-debugger" test) generated 28 warnings (run `cargo fix --bin "chip8-debugger" -p chip8-debugger --tests` to apply 20 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chip8_debugger-0b9a4fe9c4217afb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d10f66296f64337a250d2681a9066cf17eb5547484e8e8f88c354896024334cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d10f66296f64337a250d2681a9066cf17eb5547484e8e8f88c354896024334cb", kill_on_drop: false }`
[INFO] [stdout] d10f66296f64337a250d2681a9066cf17eb5547484e8e8f88c354896024334cb
